本日重點與方向 (TAG): Icinga、Icinga2、Icingaweb
在之前我們有先搞過了一下節省哥的 SNMP 監控軟體 LibreNMS,在進入 LibreNMS 之前,我們其實也有搞過另外一套的主機管理系統,那就是 Icinga2 配上 Icingaweb 這套東西,這東西主要是面向主機端為主,配上古老的 Nagios Plugin 進行系統性監控,所以對於網管的 Router / Switch 還是交給 LibreNMS 為主,基本上 Icinga2 就是一個 Deamon 綁在主機上面,交給 Icingaweb 做抓取的行為,所以主機端才有支援,而對於服務檢查、告警設定等,還是交給 Nagios Plugin 去處理為主,Icinga2 還有一些群組化管理、商業邏輯設定(多機器設定)、外部設定的一些檢查功能等可以配置,因為光是安裝就已經夠難搞的了,加上整個邏輯架構蠻大的,所以後需多轉移到 LibreNMS 為主,今天就把先前部署的方式寫一寫,希望大家可以組建回來吧,對應到多機器同步管理的部分我還沒搞定,所以就先弄到可以登入的狀態吧。
apt-get update
apt-get -y install apt-transport-https wget gnupg
wget -O - https://packages.icinga.com/icinga.key | apt-key add -
. /etc/os-release; if [ ! -z ${UBUNTU_CODENAME+x} ]; then DIST="${UBUNTU_CODENAME}"; else DIST="$(lsb_release -c| awk '{print $2}')"; fi; \
echo "deb https://packages.icinga.com/ubuntu icinga-${DIST} main" > \
/etc/apt/sources.list.d/${DIST}-icinga.list
echo "deb-src https://packages.icinga.com/ubuntu icinga-${DIST} main" >> \
/etc/apt/sources.list.d/${DIST}-icinga.list
apt-get update
apt-get install icinga2 -y
apt-get install monitoring-plugins
service icinga2 status
apt-get install mysql-server mysql-client -y
DB Admin User ⇒ root
Password ⇒ root
mysql_secure_installation
你如果要用 icinga2-ido-mysql 的話,他會幫你安裝好所有需要的 DB 資料庫資料表的配置。
apt-get install icinga2-ido-mysql -y
DB Name ⇒ icinga2
User ⇒ icinga2
Password ⇒ icinga2
你如果不要用 icinga2-ido-mysql 的話,就先登入你的 Mysql 去建資料庫、使用者、對應權限,之後再交付給 Icinga web 2 那邊去跑一些設定。
mysql -u root -p
CREATE DATABASE icinga;
GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga.* TO 'icinga'@'localhost' IDENTIFIED BY 'icinga';
quit
這邊就是去配置一下 icinga2 web 的相關對應到 Icinga2 的 backed server 功能,還有搞一下 PHP 的套件設定,提供 icinga2 web 啟動使用。
icinga2 feature enable ido-mysql
service icinga2 restart
apt-get install apache2 -y
apt-get install php7.0-gd -y
service apache2 restart
icinga2 api setup
這邊是要去拿到 Icinga2 所配置的提取資料的 API 使用者,後面 Icinga2 Web 才可以向 Icinga2 跟他要東西。
nano /etc/icinga2/conf.d/api-users.conf
Default User ⇒ root
Default Password ⇒ hash
這邊就是去安裝一下 Icinga web2,然後設定一下 Icinga2 setup 的鑰匙,提供給 Icinga web 2 使用。
Docker add-apt-respository 問題: apt-get install software-properties-common
wget -O - https://packages.icinga.com/icinga.key | apt-key add -
add-apt-repository 'deb http://packages.icinga.com/ubuntu icinga-xenial main'
apt-get update
apt-get install icingaweb2 libapache2-mod-php icingacli -y
icingacli setup token create
service apache2 restart
這邊的資料庫是給 icingaweb2 的部分,讓他去設定相關的網頁端的設定還有規則。
mysql -u root -p
CREATE DATABASE icingaweb2;
GRANT ALL ON icingaweb2.* TO icingaweb2@localhost IDENTIFIED BY 'icingaweb2';
flush privileges;
Web UI: ${Target-IP}/icingaweb2/setup
icingacli setup token show
)回到登入頁面 (http://${Target-ip}/icingaweb2)